package com.shimakaze.reggie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shimakaze.reggie.dto.DishDto;
import com.shimakaze.reggie.entity.Dish;

import java.util.List;

public interface DishService extends IService<Dish> {
    //新增菜品需要同时插入菜品对应的口味数据，需要操作两张表：dish、dish_flavor
    public void saveWithFlavor(DishDto dishDto);

    //根据id查询菜品信息和口味，需要操作两张表：dish、dish_flavor
    public DishDto getByIdWithFlavor(Long id);

    //修改菜品信息，同时修改dish、dish_flavor两张表
    public void updateWithFlavor(DishDto dishDto);



    /**
     * 批量删除菜品，同时删除菜品关联口味信息
     * 同时删除dish、dish_flavor 两张表
     * @param ids
     */
    public void removeByIdWithFlavor(List<Long> ids);

    /**
     * 批量修改菜品状态
     * 如果一个菜品被停售，那么其关联的所有套餐都必须停售
     * @param status
     * @param ids
     */
    public void updateStatus(int status, List<Long> ids);
}
